Slicing Programs with Arbitrary Control-flow

نویسندگان

  • Thomas Ball
  • Susan Horwitz
چکیده

Program slicing is a program transformation that is useful in program debugging, program maintenance, and other applications that involve understanding program behavior. Given a program point p and a set of variables V, the goal of slicing is to create a projection of the program (by eliminating some statements), such that the projection and the original program compute the same values for all variables in V at point p. This paper addresses the problem of slicing programs with arbitrary control flow. Previous slicing algorithms do not always form semantically correct program projections when applied to such programs. We present an algorithm for slicing programs with complex control flow and a proof of its correctness. Our algorithm works for programs with completely arbitrary control flow, including irreducible control flow.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Static Interprocedural Slicing of Shared Memory Parallel Programs

Software tools for program debugging, software testing, software maintenance, and program understanding have all effectively utilized static program slicing techniques. In this paper, we present an approach to extend this capability to explicitly parallel shared memory programs written using the OpenMP standard. In particular, interprocedural static program slicing of OpenMP programs is enabled...

متن کامل

Data-flow and Control-flow Analysis of AspectJ Software for Program Slicing

We propose an approach for program slicing of AspectJ software, based on a novel data-flow and control-flow program representation. The representation is built at the source-code level and, unlike previous work, captures the semantic intricacies of various pointcut designators, multiple advices per joint point, dynamic advices, exceptions, and general flow of data to, from, and between advices....

متن کامل

Using JOANA for Information Flow Control in Java Programs - A Practical Guide

We present the JOANA (Java Object-sensitive ANAlysis) framework for information flow control (IFC) of Java programs. JOANA can analyze a given Java program and guarantee the absence of security leaks, e.g. that a online banking application does not send sensitive information to third parties. It applies a wide range of program analysis techniques such as dependence graph computation, slicing an...

متن کامل

Transfinite semantics in program slicing

This paper studies mathematically some special kinds of transfinite trace semantics and investigates program slicing w.r.t. these semantics. Several general facts about slicing, which hold for a wide class of programming languages and their transfinite semantics, are proven. The principal part of the work is done on control flow graphs keeping the treatment abstracted from any concrete programm...

متن کامل

Clauser: Clause Slicing Tool for C Programs

The Clause slicing technique is a static slicing technique. The clause slice criterion is the clause, which is the smallest part of the code line, with the clause number. In this paper, we introduce the “Clauser,” which is a new clause slicing tool for C programs. The Clauser is a slicing tool that divides the program code lines into clauses, depending on certain rules, and then it slices the c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993